CosyOS-II API 用户参考手册  1.0.3
模块 | 宏定义
操作自身任务

仅适用于对自身任务的操作。 更多...

操作自身任务 的协作图:

模块

 自身任务延时
 自身任务延时分为阻塞延时和就绪延时。
理想误差:-1tick。
 

宏定义

#define uYieldTasking   su_yield_tasking()
 禅让任务 更多...
 
#define uSetTaskingPri(npri)    sUSV_SetTaskPri(s_task_current, npri)
 设置自身任务优先级 更多...
 
#define uSuspendTasking   sUSV_SuspendTask(s_task_current)
 挂起自身任务 更多...
 
#define uDeleteTasking   sUSV_DeleteTask(s_task_current)
 删除自身任务 更多...
 
#define uResumeSuspend(task)    sUSV_ResumeSuspend(u_taskhandle_##task)
 恢复指定任务并挂起自身任务 更多...
 
#define uEndTasking   }while(true)
 结束自身任务 更多...
 

详细描述

仅适用于对自身任务的操作。

宏定义说明

#define uDeleteTasking   sUSV_DeleteTask(s_task_current)

删除自身任务

返回
错误码(s_ecode_t)
注解
虽然也返回错误码,但在正常情况下结果一定是成功的,不必查看错误码。

在文件 ur_api.h520 行定义.

#define uEndTasking   }while(true)

结束自身任务

所有任务线程的最后一句代码。

返回

在文件 ur_api.h539 行定义.

#define uResumeSuspend (   task)    sUSV_ResumeSuspend(u_taskhandle_##task)

恢复指定任务并挂起自身任务

参数
[in]task指定任务名称
返回
错误码(s_ecode_t)
返回值
OS_ECODE_NOERROR无错误
OS_ECODE_TASKNOTREADY指定任务未就绪
OS_ECODE_TASKSTOPPED指定任务已停止
OS_ECODE_TASKNOTSTARTED指定任务未启动/已删除
注解
当返回错误时,指定任务未能成功恢复,自身任务不会挂起。

在文件 ur_api.h532 行定义.

#define uSetTaskingPri (   npri)    sUSV_SetTaskPri(s_task_current, npri)

设置自身任务优先级

参数
[in]npri新优先级
返回
错误码(s_ecode_t)
返回值
OS_ECODE_NOERROR无错误
OS_ECODE_TPLUNCHANGED优先级未改变

在文件 ur_api.h506 行定义.

#define uSuspendTasking   sUSV_SuspendTask(s_task_current)

挂起自身任务

返回
错误码(s_ecode_t)
注解
虽然也返回错误码,但在正常情况下结果一定是成功的,不必查看错误码。

在文件 ur_api.h513 行定义.

#define uYieldTasking   su_yield_tasking()

禅让任务

自身任务主动禅让CPU使用权,轮转至下一个相同优先级的任务运行。

返回
注解
多个相同优先级的任务,通过禅让的方式可实现合作式任务。
禅让是自身任务主动时间片到期,禅让后任务仍为就绪状态。
警告
当开启相同优先级任务的时间片轮转调度时,才支持此服务。

在文件 ur_api.h497 行定义.